﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>无标题文档</title>
	<script type="text/javascript">
		if (!document.cookie.match(/blackbird=/)) {
			document.cookie = 'blackbird={pos:0,size:0,load:true};';
		}
	</script>
	<script src="../../Debug/blackbird.js" type="text/javascript" charset="utf-8"></script>
	<link type="text/css" rel="Stylesheet" href="../../Debug/blackbird.css" />
	<script type="text/javascript">
		/**
		* ECMAScript通过RegExp类型来支持正则表达式，使用下面语句就可以创建一个正则表达式：
		* var expression = / pattern / flags
		*
		* 其中的模式(pattern)部分可以是任何简单或复杂的正则表达式，可以包含字符类、限定符、分组、向前查找、以及反向引用。
		* 每个正则表达式都可带有一或多个标志(flags)，用以证明正则表达式的行为，正则表达式的匹配模式支持下列3个标志：
		*		g----表示全局(global)模式，即模式将被应用于所有字符串，而非在发现第一个匹配项时立即停止
		*		i----表示不区分大小写(case-insensitive)模式，即在确定匹配项时忽略模式与字符串的大小写
		*		m----表示多行(multiline)模式，即在到达一行文本末尾时还会继续查找下一行中是否存在于模式匹配的项
		**/

		// 匹配字符串中所有'at'的实力
		var pattern1 = /at/g;

		// 匹配第一个'bat'或'cat'，不区分大小写
		var pattern2 = /[bc]at/i;

		// 匹配所有以'at'结尾的3个字符的组合，不区分大小写
		var pattern3 = /.at/gi;

		/**
		* 与其他语言中的正则表达式类似，模式中使用的所有元字符都必须转义，正则表达式的元字符包括：( [ { \ ^ $ | ) ? * + . 
		**/

		// 匹配第一个'bat'或'cat'，不区分大小写
		var pattern1 = /[bc]at/i;

		// 匹配第一个'[bc]at'，不区分大小写
		var pattern2 = /\[bc\]at/i;

		// 匹配所有以'at'结尾的3个字符的组合，不区分大小写
		var pattern3 = /.at/gi;

		// 匹配所有以'.at'结尾的3个字符组合，不区分大小写
		var pattern4 = /\.at/gi;

		/**
		* 前面举的例子都是以字面量形式来定义的正则表达式，另一种创建正则表达式的方法是使用RegExp构造函数，
		* 他接受两个参数：一个是要匹配的字符串模式，另一个是可选的标志字符串：
		**/

		// 匹配第一个'bat'或'cat'，不区分大小写
		var pattern1 = new RegExp('[bc]at', 'i');

		/**
		* 传递给RegExp构造函数的两个参数都是字符串，不能把正则表达式字面量传递给RegExp构造函数.
		* 由于RegExp构造函数的模式参数是字符串，所有在某些情况下要对字符进行双重转义，所有元字符都必须双重转义
		*
		* 字面量模式              等价的字符串
		* /\[bc\]at/             '\\[bc\\]at'
		* /\.at/                 '\\.at' 
		* /name\/age/            'name\\/age'
		* /\d.\d{1,2}/           '\\d.\\d{1,2}'
		* /\w\\hello\\123/       '\\w\\\\hello\\\\123'
		**/

	</script>
</head>
<body>
</body>
</html>
